//二叉树的镜像
class Solution {
public:
    TreeNode* mirrorTree(TreeNode* root) 
    {
        if(root==nullptr)
        {
            return nullptr;
        }
        TreeNode* tmp =root->left;

        root->left=mirrorTree(root->right);
        root->right=mirrorTree(tmp);
        return root;
    }
};

//对称二叉树
//判断是不是对称二叉树
class Solution {
public:
    bool isSametree(TreeNode*root1,TreeNode* root2)
    {
        if(root1==nullptr &&root2!=nullptr)
        {
            return false;
        }
        if(root2==nullptr &&root1!=nullptr)
        {
            return false;
        }
        if(root1==nullptr && root2==nullptr)
        {
            return true;
        }

        if(root1->val!=root2->val)
        {
            return false;
        }
        return isSametree(root1->left,root2->right)&&isSametree(root1->right,root2->left);

    }
    bool isSymmetric(TreeNode* root) 
    {
        if(root==nullptr)
        {
            return true;
        }
        return isSametree(root->left,root->right);
    }
};
